package com.zh.note.config;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * @Author: zhanghuan
 * @date: 2025/8/26 00:15
 * @description: create it
 */
@Getter
@Setter
@Configuration
@ConfigurationProperties(prefix = "thread.pool")
public class ThreadPoolProperties {

    /**
     * 核心线程池大小
     * 线程池中保持的最小线程数量，即使这些线程处于空闲状态也不会被回收
     */
    private int corePoolSize;

    /**
     * 最大线程池大小
     * 线程池中允许创建的最大线程数量
     */
    private int maxPoolSize;

    /**
     * 任务队列容量
     * 用于存放待执行任务的阻塞队列的最大容量
     */
    private int queueCapacity;

    /**
     * 线程存活时间（秒）
     * 当线程池中的线程数量超过核心线程数时，多余的空闲线程在终止前等待新任务的最长时间
     */
    private int keepAliveSeconds;

}
